package com.hsnn.medstgmini.subscribe.model;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;

import org.springframework.format.annotation.DateTimeFormat;

import com.hsnn.medstgmini.util.FormatDate;

/**
 * @category 预约设置日志实体类
 * @author 韩守松
 * @date 2015年8月28日
 */
@Entity
@Table(name="bid_subscribe_log")
public class BidSubscribeLog implements Serializable{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	private String logId;//日志Id
	
	private String bidSubscribeId;//预约id
	private String projId;//项目id
	private Date subStartDate;//预约开始日期
	private String subStartDateStr;
	private Date subEndDate;//预约结束日期
	private String subEndDateStr;
	private Integer includeWeekend;//是否包含周末
	private Integer isEnable;//预约状态，0新建1开启2停用
	private String centerAddress;//现场确认地址
	private Date processStartTimeOne;//日常事务处理开始时间段1
	private String processStartTimeOneStr;
	private Date processEndTimeOne;//日常事务处理结束时间段1
	private String processEndTimeOneStr;
	private Date processStartTimeTwo;//日常事务处理开始时间段2
	private String processStartTimeTwoStr;
	private Date processEndTimeTwo;//日常事务处理结束时间段2
	private String processEndTimeTwoStr;
	private Date processStartTimeThree;//日常事务处理开始时间段3
	private String processStartTimeThreeStr;
	private Date processEndTimeThree;//日常事务处理结束时间段3
	private String processEndTimeThreeStr;
	private Integer processUnitOne;//时间段单位1
	private Integer personCountOne;//时间段人数1
	private Integer processUnitTwo;//时间段单位2
	private Integer personCountTwo;//时间段人数2
	private Integer processUnitThree;//时间段单位3
	private Integer personCountThree;//时间段人数3
	private Integer status;//状态
	private String remarks;//备注
	private Date updDatetime;//更新时间
	private String updDatetimeStr;
	private String updUser;//更新人
	
	@Id
	@Column(name="log_id",length=36)
	public String getLogId() {
		return logId;
	}
	public void setLogId(String logId) {
		this.logId = logId;
	} 
	
	@Column(name="bid_subscribe_id",length=36)
	public String getBidSubscribeId() {
		return bidSubscribeId;
	}
	
	public void setBidSubscribeId(String bidSubscribeId) {
		this.bidSubscribeId = bidSubscribeId;
	}
	
	@Column(name="proj_id",length=36)
	public String getProjId() {
		return projId;
	}
	public void setProjId(String projId) {
		this.projId = projId;
	}
	
	@Column(name="sub_start_date")
	@DateTimeFormat(pattern="yyyy-MM-dd")
	public Date getSubStartDate() {
		return subStartDate;
	}
	public void setSubStartDate(Date subStartDate) {
		this.subStartDate = subStartDate;
	}
	
	@Column(name="sub_end_date")
	@DateTimeFormat(pattern="yyyy-MM-dd")
	public Date getSubEndDate() {
		return subEndDate;
	}
	public void setSubEndDate(Date subEndDate) {
		this.subEndDate = subEndDate;
	}
	
	@Column(name="include_weekend",length=4)
	public Integer getIncludeWeekend() {
		return includeWeekend;
	}
	public void setIncludeWeekend(Integer includeWeekend) {
		this.includeWeekend = includeWeekend;
	}
	
	@Column(name="is_enable",length=4)
	public Integer getIsEnable() {
		return isEnable;
	}
	public void setIsEnable(Integer isEnable) {
		this.isEnable = isEnable;
	}
	
	@Column(name="center_address",length=512)
	public String getCenterAddress() {
		return centerAddress;
	}
	public void setCenterAddress(String centerAddress) {
		this.centerAddress = centerAddress;
	}
	
	@Column(name="process_start_time_one")
	@DateTimeFormat(pattern="HH:mm:ss")
	public Date getProcessStartTimeOne() {
		return processStartTimeOne;
	}
	public void setProcessStartTimeOne(Date processStartTimeOne) {
		this.processStartTimeOne = processStartTimeOne;
	}
	
	@Column(name="process_end_time_one")
	@DateTimeFormat(pattern="HH:mm:ss")
	public Date getProcessEndTimeOne() {
		return processEndTimeOne;
	}
	public void setProcessEndTimeOne(Date processEndTimeOne) {
		this.processEndTimeOne = processEndTimeOne;
	}
	
	@Column(name="process_start_time_two")
	@DateTimeFormat(pattern="HH:mm:ss")
	public Date getProcessStartTimeTwo() {
		return processStartTimeTwo;
	}
	public void setProcessStartTimeTwo(Date processStartTimeTwo) {
		this.processStartTimeTwo = processStartTimeTwo;
	}
	
	@Column(name="process_end_time_two")
	@DateTimeFormat(pattern="HH:mm:ss")
	public Date getProcessEndTimeTwo() {
		return processEndTimeTwo;
	}
	public void setProcessEndTimeTwo(Date processEndTimeTwo) {
		this.processEndTimeTwo = processEndTimeTwo;
	}
	
	@Column(name="process_start_time_three")
	@DateTimeFormat(pattern="HH:mm:ss")
	public Date getProcessStartTimeThree() {
		return processStartTimeThree;
	}
	public void setProcessStartTimeThree(Date processStartTimeThree) {
		this.processStartTimeThree = processStartTimeThree;
	}
	
	@Column(name="process_end_time_three")
	@DateTimeFormat(pattern="HH:mm:ss")
	public Date getProcessEndTimeThree() {
		return processEndTimeThree;
	}
	public void setProcessEndTimeThree(Date processEndTimeThree) {
		this.processEndTimeThree = processEndTimeThree;
	}
	
	@Column(name="process_unit_one")
	public Integer getProcessUnitOne() {
		return processUnitOne;
	}
	public void setProcessUnitOne(Integer processUnitOne) {
		this.processUnitOne = processUnitOne;
	}
	
	@Column(name="person_count_one")
	public Integer getPersonCountOne() {
		return personCountOne;
	}
	public void setPersonCountOne(Integer personCountOne) {
		this.personCountOne = personCountOne;
	}
	
	@Column(name="process_unit_two")
	public Integer getProcessUnitTwo() {
		return processUnitTwo;
	}
	public void setProcessUnitTwo(Integer processUnitTwo) {
		this.processUnitTwo = processUnitTwo;
	}
	
	@Column(name="person_count_two")
	public Integer getPersonCountTwo() {
		return personCountTwo;
	}
	public void setPersonCountTwo(Integer personCountTwo) {
		this.personCountTwo = personCountTwo;
	}
	
	@Column(name="process_unit_three")
	public Integer getProcessUnitThree() {
		return processUnitThree;
	}
	public void setProcessUnitThree(Integer processUnitThree) {
		this.processUnitThree = processUnitThree;
	}
	
	@Column(name="person_count_three")
	public Integer getPersonCountThree() {
		return personCountThree;
	}
	public void setPersonCountThree(Integer personCountThree) {
		this.personCountThree = personCountThree;
	}
	
	@Column(name="status",length=4)
	public Integer getStatus() {
		return status;
	}
	public void setStatus(Integer status) {
		this.status = status;
	}
	
	@Column(name="remarks",length=4000)
	public String getRemarks() {
		return remarks;
	}
	public void setRemarks(String remarks) {
		this.remarks = remarks;
	}
	
	@Column(name="upd_datetime")
	public Date getUpdDatetime() {
		return updDatetime;
	}
	public void setUpdDatetime(Date updDatetime) {
		this.updDatetime = updDatetime;
	}
	
	@Column(name="upd_user",length=36)
	public String getUpdUser() {
		return updUser;
	}
	public void setUpdUser(String updUser) {
		this.updUser = updUser;
	}
	
	@Transient
	public String getSubStartDateStr() {
		if(null != subStartDate){
			subStartDateStr = FormatDate.toNYShortFormat(subStartDate);
		}
		return subStartDateStr;
	}
	public void setSubStartDateStr(String subStartDateStr) {
		this.subStartDateStr = subStartDateStr;
	}
	
	@Transient
	public String getSubEndDateStr() {
		if(null != subEndDate){
			subEndDateStr = FormatDate.toNYShortFormat(subEndDate);
		}
		return subEndDateStr;
	}
	public void setSubEndDateStr(String subEndDateStr) {
		this.subEndDateStr = subEndDateStr;
	}
	
	@Transient
	public String getProcessStartTimeOneStr() {
		if(null != processStartTimeOne){
			processStartTimeOneStr = FormatDate.toTimeFormat(processStartTimeOne);
		}
		return processStartTimeOneStr;
	}
	public void setProcessStartTimeOneStr(String processStartTimeOneStr) {
		this.processStartTimeOneStr = processStartTimeOneStr;
	}
	
	@Transient
	public String getProcessEndTimeOneStr() {
		if(null != processEndTimeOne){
			processEndTimeOneStr = FormatDate.toTimeFormat(processEndTimeOne);
		}
		return processEndTimeOneStr;
	}
	public void setProcessEndTimeOneStr(String processEndTimeOneStr) {
		this.processEndTimeOneStr = processEndTimeOneStr;
	}
	
	@Transient
	public String getProcessStartTimeTwoStr() {
		if(null != processStartTimeTwo){
			processStartTimeTwoStr = FormatDate.toTimeFormat(processStartTimeTwo);
		}
		return processStartTimeTwoStr;
	}
	public void setProcessStartTimeTwoStr(String processStartTimeTwoStr) {
		this.processStartTimeTwoStr = processStartTimeTwoStr;
	}
	
	@Transient
	public String getProcessEndTimeTwoStr() {
		if(null != processEndTimeTwo){
			processEndTimeTwoStr = FormatDate.toTimeFormat(processEndTimeTwo);
		}
		return processEndTimeTwoStr;
	}
	public void setProcessEndTimeTwoStr(String processEndTimeTwoStr) {
		this.processEndTimeTwoStr = processEndTimeTwoStr;
	}
	
	@Transient
	public String getProcessStartTimeThreeStr() {
		if(null != processStartTimeThree){
			processStartTimeThreeStr = FormatDate.toTimeFormat(processStartTimeThree);
		}
		return processStartTimeThreeStr;
	}
	public void setProcessStartTimeThreeStr(String processStartTimeThreeStr) {
		this.processStartTimeThreeStr = processStartTimeThreeStr;
	}
	
	@Transient
	public String getProcessEndTimeThreeStr() {
		if(null != processEndTimeThree){
			processEndTimeThreeStr = FormatDate.toTimeFormat(processEndTimeThree);
		}
		return processEndTimeThreeStr;
	}
	public void setProcessEndTimeThreeStr(String processEndTimeThreeStr) {
		this.processEndTimeThreeStr = processEndTimeThreeStr;
	}
	
	@Transient
	public String getUpdDatetimeStr() {
		if(null != updDatetime ){
			updDatetimeStr = FormatDate.toFullFormat(updDatetime);
		}
		return updDatetimeStr;
	}
	public void setUpdDatetimeStr(String updDatetimeStr) {
		this.updDatetimeStr = updDatetimeStr;
	}
}
